Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Nota
Artikel ini menyediakan keterangan tambahan untuk dokumentasi referensi untuk API ini.
Kelas Nullable mewakili jenis nilai yang dapat ditetapkan null.
Jenis dikatakan dapat diubah ke null jika dapat diberi nilai atau dapat ditetapkan null, yang berarti jenis tidak memiliki nilai apa pun. Secara default, semua jenis referensi, seperti String, dapat diubah ke null, tetapi semua jenis nilai, seperti Int32, tidak.
Di C# dan Visual Basic, Anda menandai jenis nilai sebagai nullable dengan menggunakan ? notasi setelah jenis nilai. Misalnya, int? di C# atau Integer? di Visual Basic mendeklarasikan jenis nilai bilangan bulat yang dapat ditetapkan null.
Struktur Nullable<T> hanya mendukung penggunaan jenis nilai sebagai jenis nullable karena jenis referensi sudah nullable menurut desain.
Kelas Nullable menyediakan dukungan pelengkap untuk struktur Nullable<T>. Kelas Nullable ini mendukung pengambilan jenis dasar dari jenis nullable, serta operasi perbandingan dan kesetaraan pada pasangan jenis nullable yang jenis nilai dasarnya tidak mendukung operasi perbandingan generik dan operasi kesetaraan.
Properti dasar
Dua anggota mendasar dari struktur Nullable<T> adalah properti HasValue dan Value.
HasValue Jika properti untuk Nullable<T> objek adalah true, nilai objek dapat diakses dengan Value properti .
HasValue Jika properti adalah false, nilai objek tidak terdefinisi dan upaya untuk mengakses Value properti melemparkan InvalidOperationException.
Boxing dan Unboxing
Ketika tipe nullable dikotakkan, runtime bahasa umum secara otomatis mengotakkan nilai dasar dari objek Nullable<T>, bukan objek Nullable<T> itu sendiri. Artinya, jika properti HasValue adalah true, maka konten properti Value akan dipewariskan. Ketika nilai yang mendasari jenis nullable dibuka kotaknya, common language runtime membuat struktur baru Nullable<T> yang diinisialisasi ke nilai yang mendasarinya.
HasValue Jika properti dari jenis nullable adalah false, hasil dari operasi tinju adalah null. Akibatnya, jika jenis nullable yang dibungkus diteruskan ke metode yang mengharapkan argumen objek, metode tersebut harus siap menangani kasus di mana argumennya adalah null. Ketika null dibuka ke dalam jenis nullable, runtime bahasa umum membuat struktur baru Nullable<T> dan menginisialisasi propertinya HasValue ke false.
Komponen runtime Windows
Anda dapat menyertakan jenis Nullable<T> sebagai anggota dari struktur yang diekspor di pustaka WinMD.